﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using DTO;
using BUS;

namespace QuanLySach
{
    /// <summary>
    /// Interaction logic for ThayDoiQuyDinhDialog.xaml
    /// </summary>
    public partial class ThayDoiQuyDinhDialog : Window
    {
        Section_DTO Section;
        public ThayDoiQuyDinhDialog(Section_DTO sect)
        {
            Section = sect;
            InitializeComponent();
        }

        private void Window_Loaded_1(object sender, RoutedEventArgs e)
        {
            LoadThamSo();
        }

        private void LoadThamSo()
        {
            nhapToiThieu.Text = ThamSo_BUS.THAMSO.LaySLNhapToiThieu().ToString();
            tonTruocNhap.Text = ThamSo_BUS.THAMSO.LaySLTonToiThieuTruocKhiNhap().ToString();
            toiThieuSauBan.Text = ThamSo_BUS.THAMSO.LaySLTonToiThieuSauKhiBan().ToString();
            noToiDa.Text = ThamSo_BUS.THAMSO.LaySLNoToiDa().ToString();
            apDung.IsChecked = ThamSo_BUS.THAMSO.ApDung_QD_TienThuKhongVuotTienNo();
        }

        private void luu_Click(object sender, RoutedEventArgs e)
        {
            ThamSo_DTO thamso = new ThamSo_DTO(Int32.Parse(nhapToiThieu.Text), Int32.Parse(tonTruocNhap.Text), Int32.Parse(toiThieuSauBan.Text), float.Parse(noToiDa.Text), apDung.IsChecked == true?true:false);
            bool result = ThamSo_BUS.THAMSO.SuaThamSo(thamso);
            if (!result)
            {
                MessageBox.Show("Thay đổi tham số không thành công");
                return;
            }
            else
                MessageBox.Show("Thay đổi tham số thành công");
            this.Close();
        }

        private void phucHoi_Click(object sender, RoutedEventArgs e)
        {
            LoadThamSo();
        }

        private void nhapToiThieu_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
        {
            try
            {
                Int32.Parse(nhapToiThieu.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Số lượng nhập tối thiểu phải là môt số");
                nhapToiThieu.Focus();
            }
        }

        private void nhapToiThieu_GotFocus(object sender, RoutedEventArgs e)
        {
            nhapToiThieu.SelectAll();
        }

        private void tonTruocNhap_GotFocus(object sender, RoutedEventArgs e)
        {
            tonTruocNhap.SelectAll();
        }

        private void tonTruocNhap_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
        {
            try
            {
                Int32.Parse(tonTruocNhap.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Số lượng tồn trước khi nhập phải là môt số");
                tonTruocNhap.Focus();
            }
        }

        private void toiThieuSauBan_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
        {
            try
            {
                Int32.Parse(toiThieuSauBan.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Số lượng tồn tối thiểu sau khi bán phải là môt số");
                toiThieuSauBan.Focus();
            }
        }

        private void toiThieuSauBan_GotFocus(object sender, RoutedEventArgs e)
        {
            toiThieuSauBan.SelectAll();
        }

        private void noToiDa_GotFocus(object sender, RoutedEventArgs e)
        {
            noToiDa.SelectAll();
        }


        private void noToiDa_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
        {
            try
            {
                Int32.Parse(noToiDa.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Nợ khách hàng tối đa phải là môt số");
                noToiDa.Focus();
            }
        }

        
    }
}
